package kgc.crm.model;

import com.baomidou.mybatisplus.annotation.*;
import kgc.crm.annotation.IsNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
    * 角色表
    */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@TableName(value = "kgc_crm_admin_role")
public class Role {
    @TableId(value = "role_id", type = IdType.AUTO)
    private Integer roleId;

    /**
     * 名称
     */
    @TableField(value = "role_name")
    @IsNull
    private String roleName;

    /**
     * 0、自定义角色1、管理角色 2、客户管理角色 3、人事角色 4、财务角色 5、项目角色 6、项目自定义角色 7、办公角色 8、项目管理角色
     */
    @TableField(value = "role_type")
    private Integer roleType;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 1 启用 0 禁用
     */
    @TableField(value = "status")
    @TableLogic
    private Integer status;

    /**
     * 数据权限 1、本人，2、本人及下属，3、本部门，4、本部门及下属部门，5、全部 
     */
    @TableField(value = "data_type")
    private Integer dataType;

    /**
     * 0 隐藏 1 不隐藏
     */
    @TableField(value = "is_hidden")
    private Integer isHidden;

    /**
     * 1 系统项目管理员角色 2 项目管理角色 3 项目编辑角色 4 项目只读角色
     */
    @TableField(value = "label")
    private Integer label;

    @TableField(exist = false)
    private Integer userId;
    @TableField(exist = false)
    private String userName;
    @TableField(exist = false)
    private String deptName;
    @TableField(exist = false)
    private String post;


    public static final String COL_ROLE_ID = "role_id";

    public static final String COL_ROLE_NAME = "role_name";

    public static final String COL_ROLE_TYPE = "role_type";

    public static final String COL_REMARK = "remark";

    public static final String COL_STATUS = "status";

    public static final String COL_DATA_TYPE = "data_type";

    public static final String COL_IS_HIDDEN = "is_hidden";

    public static final String COL_LABEL = "label";
}